﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Urgencias.Modelo
{
    class Enfermeria : Funcionario
    {
        private string especialidadEnfermeria;

        public string EspecialidadEnfermeria
        {
            get { return especialidadEnfermeria; }
            set { especialidadEnfermeria = value; }
        }

        public System.Collections.Generic.List<ConsultaMedica> consultasMedicas;

        /// <summary>
        /// Property for collection of ConsultaMedica
        /// </summary>
        /// <pdGenerated>Default opposite class collection property</pdGenerated>
        public System.Collections.Generic.List<ConsultaMedica> ConsultsaMedicas
        {
            get
            {
                if (consultasMedicas == null)
                    consultasMedicas = new System.Collections.Generic.List<ConsultaMedica>();
                return consultasMedicas;
            }
            set
            {
                RemoveAllConsultaMedica();
                if (value != null)
                {
                    foreach (ConsultaMedica oConsultaMedica in value)
                        AddConsultaMedica(oConsultaMedica);
                }
            }
        }

        /// <summary>
        /// Add a new ConsultaMedica in the collection
        /// </summary>
        /// <pdGenerated>Default Add</pdGenerated>
        public void AddConsultaMedica(ConsultaMedica newConsultaMedica)
        {
            if (newConsultaMedica == null)
                return;
            if (this.consultasMedicas == null)
                this.consultasMedicas = new System.Collections.Generic.List<ConsultaMedica>();
            if (!this.consultasMedicas.Contains(newConsultaMedica))
            {
                this.consultasMedicas.Add(newConsultaMedica);
                newConsultaMedica.AddArsenalera(this);
            }
        }

        /// <summary>
        /// Remove an existing ConsultaMedica from the collection
        /// </summary>
        /// <pdGenerated>Default Remove</pdGenerated>
        public void RemoveConsultaMedica(ConsultaMedica oldConsultaMedica)
        {
            if (oldConsultaMedica == null)
                return;
            if (this.consultasMedicas != null)
                if (this.consultasMedicas.Contains(oldConsultaMedica))
                {
                    this.consultasMedicas.Remove(oldConsultaMedica);
                    oldConsultaMedica.RemoveArsenalera(this);
                }
        }

        /// <summary>
        /// Remove all instances of ConsultaMedica from the collection
        /// </summary>
        /// <pdGenerated>Default removeAll</pdGenerated>
        public void RemoveAllConsultaMedica()
        {
            if (consultasMedicas != null)
            {
                System.Collections.ArrayList tmpConsultaMedica = new System.Collections.ArrayList();
                foreach (ConsultaMedica oldConsultaMedica in consultasMedicas)
                    tmpConsultaMedica.Add(oldConsultaMedica);
                consultasMedicas.Clear();
                foreach (ConsultaMedica oldConsultaMedica in tmpConsultaMedica)
                    oldConsultaMedica.RemoveArsenalera(this);
                tmpConsultaMedica.Clear();
            }
        }
    }
}
